Managing an ephemeral post in a social networking system

ABSTRACT

A method of posting ephemeral posts is disclosed. The method starts with receiving, from a user of a social network, a request to post an ephemeral post, the request including an ephemeral variable associated with a threshold event. The ephemeral post is posted on behalf of the user. Then an occurrence of the threshold event is monitored. When the threshold event has not occurred, the post is allowed to be accessible to at least one viewer other than the user. When the threshold event has occurred, the post is blocked from being accessible by the at least one view other than the user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.13/841,590, filed Mar. 15, 2013, which is hereby incorporated byreference

FIELD

The embodiments of the invention are related to the field of Internetmessaging. More specifically, the embodiments are related to creatingand managing ephemeral posts in a social networking system.

BACKGROUND

Today the Internet permeates everyday life. While passively viewingonline content is still a mainstay of the Internet experience, more andmore Internet users are creating contents on the Internet, throughwebpages and online social networking sites. User generated content hasseen exponential growth in recent years, and posting, viewing, andreplying to messages on a social network site are growing to become adaily routine of a significant percentage of Internet users. An August2011 survey by the Pew Internet & American Life Project found that 65%of American online adults use social networking sites, up dramaticallyfrom 8% found by the same organization in a February 2005 survey.

Messaging through a social network site allows people to brainstormideas, share interests, exchange experiences, and generally “stay intouch” with family, friends, associates, and the world-at-large. Yet,many people remain reluctant to post messages on a social network site.One impediment to more message posting is the inkling that messagesposted online are “always out there.” Some people are afraid that aspontaneous message posted on a social network site remains indefinitelybeyond the poster's control.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings in which likereferences indicate similar elements. It should be noted that differentreferences to “an” or “one” embodiment in this disclosure are notnecessarily to the same embodiment, and such references mean at leastone. Further, when a particular feature, structure, or characteristic isdescribed in connection with an embodiment, it is submitted that it iswithin the knowledge of one skilled in the art to affect such feature,structure, or characteristic in connection with other embodimentswhether or not explicitly described.

FIG. 1 is a block diagram illustrating a social networking systemaccording to one embodiment of the invention.

FIG. 2 illustrates an example social graph 200 that may be used by asocial networking system.

FIG. 3 is a flow diagram illustrating a method of managing ephemeralposts in a social networking system according to one embodiment of theinvention.

FIG. 4 is a block diagram illustrating a social networking systemmanaging ephemeral posts according to one embodiment of the invention.

FIG. 5 is a flow diagram illustrating a social networking systemmanaging ephemeral posts according to one embodiment of the invention.

FIG. 6 is a block diagram illustrating an ephemeral variable selectiongraphic user interface (GUI) of a social networking system according toone embodiment of the invention.

FIG. 7 is a block diagram illustrating a graphic user interface (GUI)used for creating an ephemeral post at a social networking systemaccording to one embodiment of the invention.

FIGS. 8A-B are block diagrams illustrating graphic user interfaces(GUIs) used for ephemeral post at a social networking system accordingto embodiments of the invention.

FIG. 9 illustrates an embodiment of a user interface for an ephemeralposting application.

FIG. 10 illustrates a computing system in which embodiments may operate,be installed, integrated, or configured.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth.However, it is understood that embodiments of the invention may bepracticed without these specific details. In other instances, well-knowncircuits, structures and techniques have not been shown in detail inorder not to obscure the understanding of this description. It will beappreciated, however, by one skilled in the art that the invention maybe practiced without such specific details. Those of ordinary skill inthe art, with the included descriptions, will be able to implementappropriate functionality without undue experimentation.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” etc., indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it is submitted that it is within the knowledge of oneskilled in the art to implement such feature, structure, orcharacteristic in connection with other embodiments whether or notexplicitly described. In the following description and claims, the terms“coupled” and “connected,” along with their derivatives, may be used. Itshould be understood that these terms are not intended as synonyms foreach other. “Coupled” is used to indicate that two or more elements,which may or may not be in direct physical or electrical contact witheach other, co-operate or interact with each other. “Connected” is usedto indicate the establishment of communication between two or moreelements that are coupled with each other.

FIG. 1 is a block diagram illustrating a social networking systemaccording to one embodiment of the invention. Referring to FIG. 1, userdevices 102 and 122 communicate with social network system 106 throughnetwork 104. Network 104 may be any type of network such as a local areanetwork (LAN), a wide area network (WAN) such as Internet, a corporateintranet, a metropolitan area network (MAN), a storage area network(SAN), a bus, or a combination thereof, wired and/or wireless. Userdevices 102 and 122 may be any device communicatively coupled to network104, such as computers, mobile devices (cellphones, wearable Internetdevices, automobile based Internet devices, etc.), smart TVs/setupboxes, Internet gaming devices, a personal digital assistant (PDA), aWeb enabled system, a media player, a “thin” client, etc.

Social networking system 106 operates a social network site, platform,or an online service that facilitates the building of social networks orsocial relations among people and other entities such as corporations.Social networking system 106 allows users to designate other users orentities as connections, or otherwise connect to, or form relationshipswith, other users or entities. Additionally, users contribute andinteract with their connections, use applications, join groups, list andconfirm attendance at events, invite connections, or perform other tasksthat facilitate social interaction. External applications also use theservices of the social networking system to allow authenticated users toincorporate some of the above social interactions with use of theexternal applications.

For managing message posting (referred to as posts), social networkingsystem 106 may contain post host servers 108. Post host servers 108 mayinclude a variety of storage devices, including a file server (e.g., anappliance used to provide network attached storage (NAS) capability), ablock-based storage server (e.g., used to provide SAN capability), aunified storage device (e.g., one which combines NAS and SANcapabilities), a nearline storage device, a direct attached storage(DAS) device, a tape backup device, or essentially any other type ofdata storage device. Among the posts stored in post host servers 108, anumber of posts are categorized as ephemeral posts which are discussedin greater detail below. Note posts can be messages, photos, videos,tag, location information, sentiment, text, hyperlinks to locations onthe Internet, and/or other structured data. While message is a dominatepost type in current social networking system/site, the principledisclosed herein applies to any post type,

Generally, a creator of a typical post in a social networking system hasno control over the duration of the post's life on the system. Thesocial networking system may display a posted post indefinitely, whichmay be long past a useful/desirable period for the creator. Ephemeralposts are different and they may be associated with an ephemeralvariable. When the ephemeral variable reaches a certain threshold, anephemeral post becomes no longer viewable by other users of the socialnetworking system. In other words, ephemeral posts are “perishable.” Insome embodiments, a user/creator of an ephemeral post specifies thecondition(s) of the ephemeral post being blocked from being viewed,forwarded, searched, replied or otherwise accessed. In social networkingsystem 106, post timers 112 may track these specified conditionsassociated with ephemeral posts stored in post host servers 108.

A social networking system may store records of users and relationshipsbetween users in a social graph comprising a plurality of nodes and aplurality of edges connecting the nodes. The nodes may comprise aplurality of user nodes and a plurality of concept nodes. A user node ofthe social graph may correspond to a user of the social networkingsystem. A user may be an individual (human user), an entity (e.g., anenterprise, business, or third party application), or a group (e.g., ofindividuals or entities). A user node corresponding to a user maycomprise information provided by the user and information gathered byvarious systems, including the social networking system. For example,the user may provide his or her name, profile picture, city ofresidence, contact information, birth date, gender, marital status,family status, employment, educational background, preferences,interests, and other demographic information to be included in the usernode. Each user node of the social graph may have a corresponding webpage (typically known as a profile page). For example, in response to arequest including a user name, the social networking system can access auser node corresponding to the user name, and construct a profile pageincluding the name, a profile picture, and other information associatedwith the user. A profile page of a first user may display to a seconduser all or a portion of the first user's information based on one ormore privacy settings by the first user and the relationship between thefirst user and the second user. A concept node may correspond to aconcept of the social networking system. For example, a concept canrepresent a real-world entity, such as a movie, a song, a sports team, acelebrity, a group, a restaurant, or a place or a location. Anadministrative user of a concept node corresponding to a concept maycreate or update the concept node by providing information of theconcept (e.g., by filling out an online form), causing the socialnetworking system to associate the information with the concept node.For example, and without limitation, information associated with aconcept can include a name or a title, one or more images (e.g., animage of cover page of a book), a web site (e.g., an URL address) orcontact information (e.g., a phone number, an email address). Eachconcept node of the social graph may correspond to a web page. Forexample, in response to a request including a name, the socialnetworking system can access a concept node corresponding to the name,and construct a web page including the name and other informationassociated with the concept. An edge between a pair of nodes mayrepresent a relationship between the pair of nodes. For example, an edgebetween two user nodes can represent a friendship between two users. Foranother example, the social networking system may construct a web page(or a structured document) of a concept node (e.g., a restaurant, acelebrity), incorporating one or more selectable buttons (e.g., “like”,“check in”) in the web page. A user can access the page using a webbrowser hosted by the user's client device and select a selectablebutton, causing the client device to transmit to the social networkingsystem a request to create an edge between a user node of the user and aconcept node of the concept, indicating a relationship between the userand the concept (e.g., the user checks in a restaurant, or the user“likes” a celebrity, etc.). For example, a user may provide (or change)his or her city of residence, causing the social networking system tocreate an edge between a user node corresponding to the user and aconcept node corresponding to the city declared by the user as his orher city of residence. In addition, the degree of separation between anytwo nodes is defined as the minimum number of hops required to traversethe social graph from one node to the other. A degree of separationbetween two nodes can be considered a measure of relatedness between theusers or the concepts represented by the two nodes in the social graph.For example, two users having user nodes that are directly connected byan edge (i.e., are first-degree nodes) may be described as “connectedusers” or “friends.” Similarly, two users having user nodes that areconnected only through another user node (i.e., are second-degree nodes)may be described as “friends of friends.”

A social networking system may support a variety of applications, suchas photo sharing, on-line calendars and events, gaming, instantmessaging, and advertising. For example, the social networking systemmay also include media sharing capabilities. Also, the social networkingsystem may allow users to post photographs and other multimedia files toa user's profile page (typically known as “wall posts” or “timelineposts”) or in a photo album, both of which may be accessible to otherusers of the social networking system depending upon the user'sconfigured privacy settings. The social networking system may also allowusers to configure events. For example, a first user may configure anevent with attributes including time and date of the event, location ofthe event and other users invited to the event. The invited users mayreceive invitations to the event and respond (such as by accepting theinvitation or declining it). Furthermore, the social networking systemmay allow users to maintain a personal calendar. Similar to events, thecalendar entries may include times, dates, locations and identities ofother users.

FIG. 2 illustrates an example social graph 200 that may be used by asocial networking system. In the example of FIG. 2, social graph 200includes user nodes 201, concept nodes 202, and edges 203 between nodes.An edge 203 between a pair of nodes may represent a relationship (or anaction) between the pair of nodes. For example, user “G” is a friend ofuser “B”, user “C”, and user “E”, respectively, as illustrated by theedges between user nodes “G” and “B”, between user nodes “G” and “C”,and between user nodes “G” and “E.” For example, users “C”, “E”, and G″watch (or “like”) a TV show “American Idol”, as illustrated by the edgesbetween the “American Idol” concept node and user nodes “C”, “E”, andG″, respectively. Similarly, the edge between the user node “B” and theconcept node “Palo Alto” may indicate that user “B” declares “Palo Alto”as his or her city of residence. The edge between the user node “B” andthe concept node “Macy's” may indicate that user “B” likes the store“Macy's.” Of course, social graphs can be much larger than social graph200 illustrated in FIG. 2, and the number of edges and/or nodes in asocial graph may be many orders of magnitude larger than that depictedherein.

As described earlier, an edge between a pair of nodes may indicate adirect relationship between the pair of nodes. An edge may be directedand connect an ordered pair of nodes. For example, an edge connecting auser node corresponding to a user and a concept node corresponding to acity may be directed (i.e., the user lives in the city). An edge may beundirected, as a pair of nodes connected by the edge does not have aparticular order. For example, an edge connecting two user nodes can beundirected as the edge indicates a friendship between two userscorresponding to the two user nodes. As described earlier herein, adegree of separation between any two nodes is defined as the minimumnumber of hops required to traverse the social graph from one node tothe other. Thus, for user “B”, the nodes for users “A”, “C”, and “G” areall one hop away and are thus users of first-degree and may be describedas “connected to” or “friends” of user “B.” However, from the standpointof user “B”, the nodes for users “E”, “F”, “J”, and “K” are consideredto have a second-degree of separation because the shortest path fromuser “B” to any of these nodes requires transiting through one othernode. Thus, from the standpoint of user “B”, users “E”, “F”, “J”, and“K” are deemed “friends of friends.” Accordingly, user “B” is either a“friend” or a “friend of a friend” with every other user in the graphexcept for user “H”, as the shortest path between user “B” and user “H”transits through two user nodes.

FIG. 3 is a flow diagram illustrating a method of managing ephemeralposts in a social networking system according to one embodiment of theinvention. Method 200 may be performed social networking system 106 inFIG. 1. A post posted to the social network system may contain at leastone of a message, a photo, a videos, a tag, location information,sentiment, a text, a hyperlink to a location on the Internet, otherstructured data, or a combination of two or more types of content. Thetypes of content of an ephemeral post may be as broad as a regular postin the social networking system.

Referring to FIG. 3, at block 301, the social networking system receivesa request to post an ephemeral post. The request includes an ephemeralvariable associated with a threshold event. The association may betriggered by the user indicating that a to-be-posted post is anephemeral post in one embodiment. If the user does not specify anephemeral variable, the social network system may attach a defaultephemeral variable to the post. The ephemeral variable may be a timeduration in an embodiment, indicating an intent to have the system toblock the post from being viewed (i.e., expired) after the post isposted on the social networking site for the specified time duration.The ephemeral variable may be an interaction count in anotherembodiment, indicating an intent to have the post expire after the postis viewed, commented on, liked, etc. Alternatively, a user may indicatethat a post is to expire if the post is not viewed, commented on, liked,etc. for the specified number of times.

The ephemeral variable may also be a combination of both time durationand interaction counts. Interaction counts can be based on a variety ofinteractions such as user clicks, views, shares, comments, promoting apost, forwarding, “likes”, and etc. The threshold event is that a timeduration and/or interaction counts reaches the defined setting orsettings. As discussed herein, the number of selections of ephemeralvariables and combinations/permutations of ephemeral variablescontaining a threshold event is nearly limitless. The principle issimple: by associating one or more ephemeral variables to a post, theuser controls availability of his/her posted post on a social networkingsystem.

In one embodiment, the system provides an indication to notify one ormore viewer that the post-creating user has posted an ephemeral post inthe social networking system. The notification may be an email or a textmessage (e.g., a text through short message service (SMS)) to anintended user (e.g., a viewer within the same online community of thepost-creating user). In addition, the social networking system mayassociate an audio/visual symbol with the post-creating user on thesocial networking site to indicate the existence of such a post.

Referring back to FIG. 3, at block 302, the social network system poststhe ephemeral post on behalf of the user. In one embodiment, the userdictates the audience of the post through selecting from a pre-definedlist or a privacy setting (e.g., only self, only friends, acquaintances,friends of friends, particular list, particular group, public, etc.). Inone embodiment, different audiences are given different ephemeralvariables. Then the social networking system monitors for an occurrenceof the specific threshold event at block 304. The system allows the postto be accessible (e.g., viewable) to at least one viewer other than theuser when the monitored threshold event(s) has not occurred at reference306. In a social networking system, it is not uncommon for a user tomake a post viewable only to users in a selected community instead ofevery user in the system, and a user posting an ephemeral post may dothe same and limit viewership of a selected community, as long as themonitored threshold event has not occurred.

At block 308, once a threshold event occurs, the system blocks the postfrom being accessible. A viewer that otherwise may see the post can nolonger access the ephemeral post. The social networking system may stillallow the post-creating user to see the post in one embodiment. Inanother embodiment, the system may remove the post so that even thepost-creating user may not see the post again (the post being deletedfrom the system). The levels of blocking may be numerous: for example,an expired ephemeral post may be moved to a less visible place on thepost-creating user's page on the system, it may be retrievable onlythrough an operator of the system, or it may be searchable only forcertain group of users. The levels of blocking are user configurable inone embodiment. In one embodiment, the system creates a specifictimeline unit for expired ephemeral posts that are only viewed to theposting user.

In one embodiment, the blocking of an expired ephemeral post from beingviewed (or otherwise accessed) may not be permanent and a viewer may askthe post-creating user to revive the expired ephemeral post undercertain circumstances. In addition, an ephemeral post may become aregular post after certain event. For example, a post-creating user mayspecify an ephemeral post to be converted to a regular post if itreceives a number of interaction data.

In one embodiment, the selected ephemeral variables are collected by thesocial networking system for analysis so that the system may providebetter default ephemeral variables or ranges of ephemeral variables inthe future. The selected ephemeral variables are collected, stored, orused in accordance with the local laws and user's privacy settings. Forexample, if the collected data shows that more users select the maximuminteraction count allowed, the system may make the maximum interactioncount number higher in the future. In addition, the collected data mayinclude a time period between creating and displaying ephemeral posts, atime period between creating and blocking ephemeral posts, and otherdata for the social networking system to manage ephemeral posts betteror provide a better user experience in using ephemeral posts.

In one embodiment, the social networking system provides a third partydata about selected ephemeral variables of ephemeral posts for a certaingroup of users. A third party may be interested in sponsoring amodification of a counting ephemeral variable associated with certainephemeral posts. For example, a studio may be willing to ask anephemeral post-creating user to extend the duration of the ephemeralpost if the post contains a favorable view of a TV show the studio istrying to promote. For a studio paid fee splitting between the user andan operator of the system, the user may accept a suggested revision ofthe ephemeral variable and associated threshold event (e.g., instead ofthe favorable ephemeral post expiring in 24 hours, the system may changethe expiration to 7 days with user's consent).

The associating of an ephemeral post with an ephemeral variable does notnecessarily happen solely for new ephemeral posts. In some embodiments,a user may modify an existing post to become an ephemeral one.

As discussed herein above, the associated ephemeral variable of anephemeral post may be time duration of the post, interactivity count, ora combination. Interaction counts can be based on a variety ofinteractions such as user clicks, views, shares, comments, promoting apost, forwarding, “likes”, and etc. The associated ephemeral variablemay depend on the content of the post, location of the post-creatinguser, selected audience of the post, and other factors. In addition, thestarting counting time for any type of ephemeral variables may bedelayed by a selectable amount of time. For example, a user may want tostart the ephemeral post at 1:00 am of the opening night of the latestinstallment of a movie, so that other movie goers see it.

In one embodiment, an ephemeral post includes one or more audio/visualindications, such that when a viewer sees the posted ephemeral post,he/she knows that it is ephemeral. The attached audio/visual indicationmay change as the ongoing post gets closer to the threshold event. Forexample, a traffic light may be attached to an ephemeral post that goesfrom green to red. For another example, an ephemeral post may have acolored boarder, or it may wiggle on the screen of the display. In amobile setting, the existence of ephemeral post may be displayed on amobile phone or tablet devices in one embodiment.

In one embodiment, the system provides default ephemeral variables to beassociated with an ephemeral post. The default ephemeral variables maynot be identical for all users and the system may provide a variety ofdefault ephemeral variables depending on a number of factors. Forexample, the system may provide a default ephemeral variables based onpost content—a commentary about global warming may be given a longerposting duration than an inquiry about going shopping. The system mayalso provide a default ephemeral variable based on demographicinformation it knows about the user—being more self-conscious, ateenager may prefer using interactivity count instead of post postingduration as the associated ephemeral variables. In addition, the defaultephemeral variable can be based on audience of a post, e.g., a closefriend with a high coefficient or affinity can have a longer time thanother users. The default ephemeral variables may also be based on theuser's physical location. For example, an ephemeral post posted from abar may be given shorter default posting duration than an ephemeral postposted from a university library.

In one embodiment, the system provides a range of ephemeral variablesdepending on a number of factors. For example, based on content ofposts, some contents are given a wider range of time or activity countthan others.

Note the variety of embodiments discussed herein above is not meant tobe an exhaustive list of possible embodiments, and they are onlyillustrations of the underlying principle.

FIG. 4 is a block diagram illustrating a social networking systemmanaging ephemeral posts according to one embodiment of the invention.Social networking system 406 is similar to social networking system 106of FIG. 1 and the same or similar references indicate elements orcomponents having the same or similar functionalities. In addition tosocial networking system 406, user devices 402 is used by a user tocreate ephemeral posts while user devices 422 is used by another user toreview the created ephemeral posts. Both user devices 402 and 422 arecommunicatively coupled to social networking system 406.

Social networking system 406 contains post host server 408 and posttimers 412. In one embodiment, post timers 412 is implemented withinpost host server 408 instead of being communicatively coupled to posthost server 408 as shown in FIG. 4.

Post timers 412 may contain a variety of ephemeral variable selectionssupported by social networking system 406 as detailed above. Post timers412 perform ephemeral variable measuring and monitor expiration of theephemeral variables associated with ephemeral posts. Post timers 412notify post host server 408 to display or block an ephemeral postdepending on the status of its associated ephemeral variable.

In one embodiment, post host server 408 contains post creator module452, post displayer module 454, user data module 456, sponsor datamodule 458, post statistics collector module 462, and ephemeral postdatabase 480. Note some modules within post host server 408 may beintegrated together, and some modules may not be implemented within posthost server 408 and are implemented as standalone entities thatcommunicatively coupled to post host server 408. Also, when socialnetworking system 406 supports only a subset of features of ephemeralposting, some modules illustrated in FIG. 4 may not be implemented.

Post creator 452 coordinates posting an ephemeral post to the socialnetworking system 406. Post creator 452 interacts with a post-creatinguser or a post modifying user and receives user selections of anephemeral post. The received user selections are then fed to post hostserver 408 to create an ephemeral post. Post creator 452 may collectdata related to the ephemeral post and store them to post statisticscollector 462 for analysis and fine tuning the performance of socialnetworking system 306. The data related to ephemeral post are collected,stored, or used in accordance with the local laws and user's privacysettings. Post creator 452 may apply default selections for an ephemeralpost when a post-creating user has not made a proper selection, or whenthe social networking system 406 considers overwriting a user selectionnecessary. Note post creator 452 may be able to create regular posts aswell as ephemeral posts.

Post displayer 454 coordinates display and otherwise makes accessible ofan ephemeral post on the social networking system 406. The displayingmay include showing the ephemeral post on a social networking site onthe Internet or on an application of a user device through “pushing” thedata to the user device. Post displayer 454 may block an ephemeral postfrom being viewed by one group of users but allow access to anothergroup. For example, it may allow the post-creating user to see anexpired ephemeral post while other users are blocked. Post displayer 454coordinates with post timers 412 to determine how long to display anephemeral post and to which user(s) to display to.

User data 456 stores user related data including user demographics, userlocations, user activities, and other user profiling data on the socialnetworking site. The data is useful for social networking system 406 toset default ephemeral variables associating with an ephemeral post whena user fails to create an ephemeral variable. The data may also beuseful for data analysis of user behavior in using an ephemeral post. Bycorrelating user-profiling data with a user's selection of ephemeralposts (duration, type of ephemeral variables, and etc.), the socialnetworking system learns preferences of ephemeral variables of ephemeralposts of the user and his/her type of users, and that knowledge may beused to further improve the user experience in using ephemeral posts. Inaddition, the knowledge may be monetized by the social networking systemin targeted advertisement. For example, if an ephemeral post asks aboutthe best bargain in a shopping mall and the ephemeral post is set toexpire by the end of upcoming weekend, a vendor in the shopping mall maygenerate a promotion that is good for the upcoming Saturday morning onlyto be attached to the post or displayed along with the post on themessage posting page displaying the post.

Sponsor data 458 stores data related to third party sponsors ofephemeral posts. A third party sponsor may have certain criteria fortargeted advertisement relating to ephemeral posting, and the criteriamay be stored in sponsor data 458. In addition, a third party sponsormay prefer to prolong or shorten an ephemeral variable associated withephemeral posts, and sponsor data 458 may store the third partysponsor's criteria of modifying ephemeral variable associated withephemeral posts. Social networking system 406 may take ephemeralvariable-modifying criteria stored in sponsor data 458 and revise theephemeral variable associated with existing ephemeral posts or suggestephemeral variables associating with to-be-created posts. A third partysponsor may pay a fee for the service.

Post statistics collector 462 collects statistics associated withephemeral posts. For example, the collected statistics may includeselected ephemeral variables associated with various content and userwith various profiles, the time period between creating and displayingephemeral posts, and a time period between creating and blockingephemeral posts. In one embodiment, the system provides a view solelyfor a post-creating user of the social networking system throughretrieving data from post statistics collector 462. The user then mayview his/her past ephemeral posts and interactivity/time durationstatistics. These and other collected statistics may help socialnetworking system 406 to fine-tune its operations in supportingephemeral posts. The collected statistics may also be provided to athird party that is interested in user behaviors.

Ephemeral post database 480 stores ephemeral posts posted in socialnetworking system 406. Various ephemeral variables associated withephemeral posts may be stored with these posts as well. In oneembodiment, ephemeral post database is only a subset of a databasestoring all posts posted in social networking system 406. In anotherembodiment, ephemeral post database 480 is a standalone entity outsideof post host server 408.

FIG. 5 is a flow diagram illustrating a social networking systemmanaging ephemeral posts according to one embodiment of the invention.At reference 502, the social networking system provides a selection ofephemeral variables to a post-creating user when the user creates apost. The ephemeral variables may include time duration, viewershipcounts, or a combination thereof. At reference 504, the socialnetworking system provides a selection of when the selected ephemeralvariable or ephemeral variables start as the system may allow a user toset a starting time after the post is posted. When a user selectionincludes a timer duration, the method 500 goes to reference 506, wherethe system provides a selection of duration of the timer. If the userselection includes an interactivity counts, method 500 goes to reference508, where the system provides a selection of interactivity counts. Notethat a user may select multiple ephemeral variables combining both timeduration and interactivity counts.

At reference 510, the system provides a selection of conditions todisable the ephemeral variable counting, that is, the selection ofconditions that the user may specify to disassociate the selectedephemeral variables with the ephemeral post. As discussed herein above,in one embodiment, the system allows a user to specify under whatcondition to re-categorize an ephemeral post to a regular post.References 502-510 may be performed by post creator 452 in coordinationwith post timers 412 and other modules in FIG. 4. Note the user mayspecify no condition to disassociate the selected ephemeral variableswith the ephemeral post. In that case, the system provides a defaultpost timer or inactivity count based on inference on post content, postaudience, location of the user at the time of posting (e.g., a post fromcreated from the user's classroom may have a shorter timer than a postfrom the same user's expedition at Mount Everest), and other factors. Inaddition, the system may prompt a question to make an ephemeral postpermanent when default post timer or inactivity count is about toexpire.

At reference 512, the system may collect user selection information asthe user selects ephemeral variables associating with the post. Thesystem may continue to collect data about the ephemeral post after itscreation and until the post expires or converts to a regular post. Forexample, the collected data includes the time period between the timethe ephemeral post is posted and the time the ephemeral post isdisassociated with any ephemeral variable (thus no longer ephemeral), inaddition to the ephemeral variables the user initially selected.Reference 512 may be performed by post statistics collector 462 incoordination with post timers 412 and other modules in FIG. 4.

At reference 515 of FIG. 5, the system may allow a third party sponsorto revise one or more of the selected ephemeral variables by thepost-creating user. A third party sponsor may revise ephemeral variablesto promote its commercial interests. Reference 515 may be performed bysponsor data 456 in coordination with other modules in FIG. 4.

Note the order of method 500 may differ in different embodiments. Forexample, collecting user selection information may occur after allowinga sponsor to revise a selected ephemeral variable. Also, user may makeno decision with respect to ephemeral variables, and the system mayattach one or more default ephemeral variables to an ephemeral post baseon a variety of factors as discussed herein above.

A number of graphic user interfaces may be deployed by a socialnetworking system to create or modify an ephemeral post. FIG. 6 is ablock diagram illustrating an ephemeral variable selection graphic userinterface (GUI) of a social networking system according to oneembodiment of the invention. The GUI may be a pop-up box for a user tocreate an ephemeral post. The GUI includes a duration setting atreference 604. The setting has a range and a user may select a valuewithin the range so that a created ephemeral post will be associatedwith the selected value (i.e., a threshold being reached once a timerstarts counting). The GUI may also include an interactivity countsetting at reference 602. The interactivity count setting has aselectable range.

FIG. 7 is a block diagram illustrating a graphic user interface (GUI)used for creating an ephemeral post at a social networking systemaccording to one embodiment of the invention. The post creating GUI hasa layout similar to regular post. For example, it includes “UpdateStatus” and “Add Photos/Videos” options at the top of the GUI. However,at the side of the type pad, a timer scrollbar at reference 702 isprovided. The timer scrollbar has a post duration range and apost-creating user may select a value within the range by sliding thebar within the scrollbar. The hourglass at reference 704 indicates aduration of an ephemeral post.

FIGS. 8A-B are block diagrams illustrating graphic user interfaces(GUIs) used for ephemeral post at a social networking system accordingto embodiments of the invention. FIG. 8A is a GUI for viewing a postedephemeral post. The layout is similar to a regular posted post exceptfor the inclusion of a visual timer indication symbol at reference 802.The symbol at reference 802 reminds a viewer that the post is ephemeraland it may not be viewable after a certain event. Note that in oneembodiment, the system may not let viewers know that a post is ephemeralthus the GUI for an ephemeral post is indistinguishable from the GUI fora regular post in this embodiment.

FIG. 8B is a GUI for viewing an ephemeral reply to a posted post. Thelayout for the reply is similar to a regular reply to a posted postexcept for an audio/visual timer indication at reference 804.

FIG. 9 illustrates an embodiment of a user interface for an ephemeralposting application. In this particular example, this is a userinterface for a standalone application to be run on a device such as asmartphone or tablet. This user interface displays both received andsent ephemeral posts for a user of the social network. Through this userinterface a user may send and receive posts in the form of text,pictures, pokes, and/or video. In some embodiments, only users of thesocial network may use this application and each user's username isassociated with their respective posts.

Typically, to view a post in this application, the user presses thescreen where the post is until the content of the post appears on thescreen. A countdown will also appear on the screen to indicate to theuser how long he/she has to view the post. In some embodiments, thecountdown will halt when the user releases the screen.

The user interface indicates how long ago a post was sent or received asshown in 901. The user interface also displays how long ago a post wasopened as shown in 903. The user interface may also indicate when areceiving user has taken a screenshot of the ephemeral post as shown in905.

In some embodiments, the application allows a user to have a postdisappear from the after a user set period of time regardless of if thepost was viewed by the recipient.

FIG. 10 illustrates, in block diagram form, an exemplary computingsystem 1000 in accordance with which embodiments may operate, beinstalled, integrated, or configured. The computing system 1000 includesone or more microprocessors 1005 and connected system components (e.g.,multiple connected chips). Alternatively, the computing system 1000 is asystem on a chip.

The computing system 1000 includes memory 1010, which is coupled to themicroprocessor(s) 1005. The memory 1010 may be used for storing data,metadata, and programs for execution by the microprocessor(s) 1005. Thememory 1010 may include one or more of volatile and non-volatilememories, such as Random Access Memory (“RAM”), Read Only Memory(“ROM”), a solid state disk (“SSD”), Flash, Phase Change Memory (“PCM”),or other types of data storage. The memory 1010 may be internal ordistributed memory.

The computing system 1000 also includes an audio input/output subsystem1015 which may include a microphone and/or a speaker for, for example,playing back music or other audio, receiving voice instructions to beexecuted by the microprocessor(s) 1005, playing audio notifications,etc.

A display controller and display device 1020 provides a visual userinterface for the user. In an embodiment where the computing system 1000is an exemplary representation of the user device 102 of FIG. 1, thedisplay device 1020 may display the GUI windows illustrated in FIGS. 6,7, and 8A-B.

The computing system 1000 also includes one or more input or output(“I/O”) devices and interfaces 1025, which are provided to allow a userto provide input to, receive output from, and otherwise transfer data toand from the system. These I/O devices 1025 may include a mouse, keypador a keyboard, a touch panel or a multi-touch input panel, camera,optical scanner, network interface, modem, other known I/O devices or acombination of such I/O devices. The touch input panel may be a singletouch input panel which is activated with a stylus or a finger or amulti-touch input panel which is activated by one finger or a stylus ormultiple fingers, and the panel is capable of distinguishing between oneor two or three or more touches and is capable of providing inputsderived from those touches to the computing system 1000.

The I/O devices and interfaces 1025 may also include a connector for adock or a connector for a USB interface, FireWire, Thunderbolt,Ethernet, etc. to connect the computing system 1000 with another device,external component, or a network. Exemplary I/O devices and interfaces1025 also include wireless transceivers, such as an IEEE 802.11transceiver, an infrared transceiver, a Bluetooth transceiver, awireless cellular telephony transceiver (e.g., 2G, 3G, 4G), or anotherwireless protocol to connect the computing system 1000 with anotherdevice, external component, or a network and receive storedinstructions, data, tokens, etc.

It will be appreciated that one or more buses, may be used tointerconnect the various components shown in FIG. 10.

In one embodiment, the computing system 1000 is an exemplaryrepresentation of the user device 102 of FIG. 1. The computing system1000 may be a personal computer, tablet-style device, a personal digitalassistant (PDA), a cellular telephone with PDA-like functionality, aWi-Fi based telephone, a handheld computer which includes a cellulartelephone, a media player, an entertainment system, or devices whichcombine aspects or functions of these devices, such as a media playercombined with a PDA and a cellular telephone in one device. In anotherembodiment, the computing system 1000 is an exemplary representation ofa server computer in the social networking system 106 of FIG. 1. Inother embodiments, the computing system 1000 may be a network computer,server, or an embedded processing device within another device orconsumer electronic product. As used herein, the terms computer, system,device, processing device, and “apparatus comprising a processingdevice” may be used interchangeably with the computing system 1000 andinclude the above-listed exemplary embodiments.

It will be appreciated that additional components, not shown, may alsobe part of the computing system 1000, and, in certain embodiments, fewercomponents than that shown in FIG. 10 may also be used in a computingsystem 1000. It will be apparent from this description that aspects ofthe inventions may be embodied, at least in part, in software. That is,computer-implemented methods may be carried out in a computer system orother data processing system in response to its processor or processingsystem executing sequences of instructions contained in a memory, suchas memory 1010 or other non-transitory machine-readable storage medium.The software may further be transmitted or received over a network (notshown) via a network interface device 1025. In various embodiments,hardwired circuitry may be used in combination with the softwareinstructions to implement the present embodiments. Thus, the techniquesare not limited to any specific combination of hardware circuitry andsoftware, or to any particular source for the instructions executed bythe computing system 1000.

An article of manufacture may be used to store program code providing atleast some of the functionality of the embodiments described above.Additionally, an article of manufacture may be used to store programcode created using at least some of the functionality of the embodimentsdescribed above. An article of manufacture that stores program code maybe embodied as, but is not limited to, one or more memories (e.g., oneor more flash memories, random access memories—static, dynamic, orother), optical disks, CD-ROMs, DVD-ROMs, EPROMs, EEPROMs, magnetic oroptical cards or other type of non-transitory machine-readable mediasuitable for storing electronic instructions. Additionally, embodimentsof the invention may be implemented in, but not limited to, hardware orfirmware utilizing an FPGA, ASIC, a processor, a computer, or a computersystem including a network. Modules and components of hardware orsoftware implementations can be divided or combined withoutsignificantly altering embodiments of the invention.

Different embodiments of the invention may be implemented usingdifferent combinations of software, firmware, and/or hardware. Thus, thetechniques shown in the figures can be implemented using code and datastored and executed on one or more electronic devices (e.g., an endsystem, a network element). Such electronic devices store andcommunicate (internally and/or with other electronic devices over anetwork) code and data using computer-readable media, such asnon-transitory computer-readable storage media (e.g., magnetic disks;optical disks; random access memory; read only memory; flash memorydevices; phase-change memory) and transitory computer-readabletransmission media (e.g., electrical, optical, acoustical or other formof propagated signals—such as carrier waves, infrared signals, digitalsignals). In addition, such electronic devices typically include a setof one or more processors coupled to one or more other components, suchas one or more storage devices (non-transitory machine-readable storagemedia), user input/output devices (e.g., a keyboard, a touchscreen,and/or a display), and network connections. The coupling of the set ofprocessors and other components is typically through one or more bussesand bridges (also termed as bus controllers). Thus, the storage deviceof a given electronic device typically stores code and/or data forexecution on the set of one or more processors of that electronicdevice.

While the flow diagrams in the figures herein above show a particularorder of operations performed by certain embodiments of the invention,it should be understood that such order is exemplary (e.g., alternativeembodiments may perform the operations in a different order, combinecertain operations, overlap certain operations, etc.).

While the invention has been described in terms of several embodiments,those skilled in the art will recognize that the invention is notlimited to the embodiments described, can be practiced with modificationand alteration within the spirit and scope of the appended claims. Thedescription is thus to be regarded as illustrative instead of limiting.

What is claimed is:
 1. A computer-implemented method comprising:receiving, from a first user of a social network, a request to publishan ephemeral post; publishing the ephemeral post to the social networkon behalf of the first user; detecting the occurrence of a firstthreshold event; and converting the ephemeral post to a non-ephemeralpost in response to the occurrence of the first threshold event.
 2. Thecomputer-implemented method of claim 1, wherein the first thresholdevent is a number of one or more user interactions with the ephemeralpost since the publishing.
 3. The computer-implemented method of claim1, further comprising: allowing the ephemeral post to be accessible toone or more viewers other than the first user when a second thresholdevent has not occurred; and blocking the ephemeral post from beingaccessible by the one or more viewers other than the first user when thesecond threshold event has occurred.
 4. The computer-implemented methodof claim 3, wherein the blocking the ephemeral post is not permanent,the method further comprising: receiving a request to revive theephemeral post after the ephemeral post has been blocked.
 5. Thecomputer-implemented method of claim 3, wherein the first user is ableto access the post after the blocking of the ephemeral post.
 6. Thecomputer-implemented method of claim 3, wherein the second thresholdevent is an expiration of a time period for viewing set by an ephemeralvariable.
 7. The computer-implemented method of claim 6, wherein theuser sets the ephemeral variable.
 8. The computer-implemented method ofclaim 6, wherein the ephemeral variable is to be associated with afuture ephemeral post, the method further comprising: adjusting theephemeral variable based upon a time period between creation of thepublished ephemeral post and an occurrence of the second thresholdevent.
 9. The computer-implemented method of claim 1, wherein theephemeral post includes at least one of a visual and an audio indicationof its ephemeral nature to distinguish it from other post types of thesocial network.
 10. The computer-implemented method of claim 1, whereinthe request to publish an ephemeral post includes a user modifying anexisting non-ephemeral post into the ephemeral post.
 11. Anon-transitory computer-readable storage medium having instructionsstored therein, which when executed by a processor, cause the processorto perform a method, the method comprising: receiving, from a first userof a social network, a request to publish an ephemeral post; publishingthe ephemeral post to the social network on behalf of the first user;detecting the occurrence of a first threshold event; and converting theephemeral post to a non-ephemeral post in response to the occurrence ofthe first threshold event.
 12. The non-transitory computer-readablestorage medium of claim 11, wherein the first threshold event is anumber of one or more user interactions with the ephemeral post sincethe publishing.
 13. The non-transitory computer-readable storage mediumof claim 11, further comprising: allowing the ephemeral post to beaccessible to one or more viewers other than the first user when asecond threshold event has not occurred; and blocking the ephemeral postfrom being accessible by the one or more viewers other than the firstuser when the second threshold event has occurred and the firstthreshold event has not occurred.
 14. The non-transitorycomputer-readable storage medium of claim 13, wherein the blocking theephemeral post is not permanent, the method further comprising:receiving a request to revive the ephemeral post after the ephemeralpost has been blocked.
 15. The non-transitory computer-readable storagemedium of claim 13, wherein the first user is able to access the postafter the blocking of the ephemeral post.
 16. The non-transitorycomputer-readable storage medium of claim 13, wherein the secondthreshold event is an expiration of a time period for viewing set by anephemeral variable.
 17. The non-transitory computer-readable storagemedium of claim 16, wherein the ephemeral variable is to be associatedwith a future ephemeral post, the method further comprising: adjustingthe ephemeral variable based upon a time period between creation of thepublished ephemeral post and an occurrence of the second thresholdevent.
 18. The non-transitory computer-readable storage medium of claim11, wherein the ephemeral post includes at least one of a visual and anaudio indication of its ephemeral nature to distinguish it from otherpost types of the social network.
 19. The non-transitorycomputer-readable storage medium of claim 11, wherein the request topublish an ephemeral post includes a user modifying an existingnon-ephemeral post into the ephemeral post.
 20. An apparatus comprising:a processing device; and a memory coupled to the processing device, thememory storing instructions which, when executed by the processingdevice, cause the apparatus to: receive, from a first user of a socialnetwork, a request to publish an ephemeral post; publish the ephemeralpost to the social network on behalf of the first user; detect theoccurrence of a first threshold event; and convert the ephemeral post toa non-ephemeral post in response to the occurrence of the firstthreshold event.